/****************************************************************************************
* 文件名称: gpio.c
* 
* 创建时间：2019/11/27
*
* 修改时间：2019/11/27
*
* 作    者：science
*
* 版    本：V1.0
*
* 文摘描述：STM32F103 IO口初始化操作
*
* 说    明：20210105 : 增加PB3 PA15特殊功能引脚输出初始化
****************************************************************************************/ 
#include "gpio.h"

/**
 * @brief  IO口初始化 
 * @param  gpio : IO口
 *         pin  : 引脚编号   0-15
 *         mode : 引脚模式
 **/
void GPIO_Init(GPIO_TypeDef * gpio , u8 pin , GPIOMode_TypeDef mode) 
{
    if(pin < 8)
    {
        gpio -> CRL &= ~(0xF << (pin * 4)) ;  //! 清寄存器的值
        gpio -> CRL |= mode << (pin * 4) ;    //! 配置参数
    }
    else
    {
        pin -= 8 ;
        gpio -> CRH &= ~(0xF << (pin * 4)) ;  //! 清寄存器的值
        gpio -> CRH |= mode << (pin * 4) ;    //! 配置参数
    }
}
